//路由守卫
//引入路由
import router from "./index.js";
//引入 store
import store from "../store/index.js";
import {Message} from 'element-ui'

//不需要守卫的页面放到白名单
const whiteList = ["/login"];
//
const typeList = ["/account/add", "/account/list"];
//路由守卫
/*
全局（全局前置守卫、全局的后置狗子、全局解析守卫）、组件级守卫（进入组件的守卫、离开组件的守卫、修改组件的守卫）、路由独享守卫
beforeEach((tp,from,next)=>{})
*/
//需求 在登录页面，没登录就放行，登录就跳转到 首页，非登录页面，如果已经登录 放行；没登录，跳转到登录页
router.beforeEach((to, from, next) => {
  if (store.getters.token) {
    //状态表示已经登录
    if (to.path == "/login") {
      //放行
      next("/home/dashboard");
    } else if (typeList.indexOf(to.path) != -1) {
      //判断该页面是不是超级管理员才能访问的页面
      if (store.getters.type == "1") {
        //超级管理员
        next();
      } else {
        //非超级管理员
        console.log("退出登录");
        Message.error('您没有权限访问该页面，请使用超级管理员账号重新登录')
        //发送退出登录的动作
        store.dispatch('LogoutAction');
        next('/login')
      }
    } else {
      next();
    }
  } else {
    //还没登录
    if (whiteList.indexOf(to.path) != -1) {
      next();
    } else {
      next("/login");
    }
  }
});
